//package com.dankegongyu.customer.common.base.paging.test
//
//import android.os.Bundle
//import androidx.lifecycle.ViewModelProvider
//import androidx.recyclerview.widget.LinearLayoutManager
//import com.dankegongyu.customer.R
//import com.dankegongyu.customer.business.room.bean.RoomListItemBean
//import com.dankegongyu.lib.R
//import com.dankegongyu.lib.common.paging.PagingData
//import com.dankegongyu.lib.common.util.DKLog
//import com.dankegongyu.lib.paging.BasePagingActivity
//import com.dankegongyu.lib.paging.RoomListItemBean
//import kotlinx.android.synthetic.main.activity_test_paging.*
//
///**
// * @author wupuquan
// * @version 1.0
// * @since 2020/4/16 17:25
// */
//class TestPaging : BasePagingActivity<TestPagingVM, RoomListItemBean>() {
//
//    private val mPagingAdapter: TestPagingAdapter by lazy { TestPagingAdapter(mutableListOf()) }
//    private var mLoadingController: LoadingController? = null
//
//    override fun getContentViewLayoutId(): Int {
//        return R.layout.activity_test_paging
//    }
//
//    override fun init(savedInstanceState: Bundle?) {
//        refreshLayout.setOnRefreshListener { pagingViewModel?.refresh() }
//
//        rv_rooms.setLoadMoreEnabled(true)
//        rv_rooms.setAutoLoadMore(false)
//        rv_rooms.setOnLoadListener { pagingViewModel?.loadMore() }
//        rv_rooms.layoutManager = LinearLayoutManager(this)
//        rv_rooms.adapter = mPagingAdapter
//
//        mLoadingController = LoadingController.create(this, refreshLayout, LoadingConfigDefault())
//                .setOnErrorRetryClickListener { doBusiness() }
//    }
//
//    override fun createPagingViewModel(): TestPagingVM {
//        return ViewModelProvider(this).get(TestPagingVM::class.java)
//    }
//
//    override fun onPagingViewModelCreated() {
////        pagingViewModel?.
//    }
//
//    override fun onPagingDataChanged(pagingData: PagingData<RoomListItemBean>) {
//        DKLog.e("onPagingDataChanged: " + pagingData.totalElements + ", " + pagingData.list.size)
//        mPagingAdapter.data = pagingData.list
//        if (pagingData.isFirstPage) {
//            rv_rooms.scrollToPosition(0)
//            mPagingAdapter.notifyDataSetChanged()
//        } else {
//            mPagingAdapter.notifyItemInserted(rv_rooms.headersCount + mPagingAdapter.itemCount)
//        }
//    }
//
//    override fun showPagingLoading() {
//        refreshLayout.finishRefresh()
//        mLoadingController?.showLoading()
//    }
//
//    override fun showPagingSuccess() {
//        DKLog.e("showPagingSuccess")
//        mLoadingController?.dismissLoading()
//        refreshLayout.finishRefresh()
//        rv_rooms.loadMoreComplete()
//    }
//
//    override fun showPagingError(errorMessage: String) {
//        DKLog.e("showPagingFailure " + errorMessage)
//        mLoadingController?.showError(errorMessage)
//        refreshLayout.finishRefresh()
//    }
//
//    override fun showPagingEmpty() {
//        DKLog.e("showPagingEmpty")
//        mLoadingController?.showEmpty()
//    }
//
//    override fun showPagingNoMore() {
//        DKLog.e("showPagingNoMore")
//        rv_rooms.noMore(true)
//    }
//
//    override fun showPagingLoadMoreFailed() {
//        DKLog.e("showPagingLoadMoreFailure")
//        rv_rooms.loadMoreError()
//    }
//
//    override fun doBusiness() {
//        showPagingLoading()
//        pagingViewModel?.refresh()
//    }
//
//}